iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
自我挑戰組

GPT伴我讀一些文件系列 第 30

Day30- GPT 陪我讀 Metrics-generator Service graph view

  • 分享至 

  • xImage
  •  

服務圖視圖

Grafana 的服務圖視圖利用 metrics-generator(或 Grafana Agent)生成的指標來顯示跨度請求率、錯誤率、持續時間以及服務圖。設定完成後,此預配置視圖即時可用。

使用服務圖視圖,您可以:

  1. 發現持續出錯的跨度以及它們發生的率。
  2. 查看您服務中所有跨度呼叫的總率。
  3. 確定服務中最慢的查詢完成所需的時間。
  4. 根據率、錯誤和持續時間值(RED 信號)檢查包含特定興趣的跨度的所有跡。

需求

您必須在 Grafana 後端啟用跨度指標和服務圖生成,以便在消化跡時生成指標。

要使用服務圖視圖,您需要:

  1. 具有 1)啟用和配置的指標生成器或 2)啟用和配置的 Grafana Agent 的 Tempo 或 Grafana Cloud Traces,以將數據發送到與 Prometheus 相容的指標存儲。
  2. Grafana 中默認啟用的服務圖
  3. 在您的 Tempo 數據源配置中啟用的跨度指標

服務圖視圖可以源於 Tempo 的指標生成器或 Grafana Agent 生成的指標。

有關如何配置這些功能的信息,請參考 Grafana Tempo 數據源文檔

服務圖視圖顯示什麼?

使用此視圖,您可以看到類型為服務器的前五個跨度(列在Name列中)。您可以使用過濾器來精煉此數據。選擇任何數據點都可以查看更具體的數據。

服務圖視圖提供了一個跨度指標可視化(表,屏幕部分 2)和服務圖(屏幕部分 3)。此外,您可以使用過濾器(屏幕部分 1)來自定義顯示的數據。

任何在表中具有下劃線的信息都可以選擇以顯示更詳細的信息。您還可以選擇服務圖中的任何節點以顯示附加信息。在下面顯示的儀表板中,Ingester.QueryStream 跨度的請求率為每秒 144220.22次請求。/cortex.Ingester/Query 跨度具有最高的請求率。

錯誤率示例

假設我們想了解為什麼 cortex.Ingester 有最高的錯誤率。選擇錯誤率列的第二行將在右側的新窗口中顯示有關跨度指標的詳細信息。

用於生成數據的指標查詢在指標瀏覽器字段中顯示。

跨度指標表

跨度指標在表中顯示,由 metrics-generator 或 Grafana Agent 生成。這些指標是根據已吸收的追踪數據創建的,包括 RED 指標。

跨度指標生成兩種指標:

  • 計算請求的計數器
  • 跟踪所有請求持續時間分佈的直方圖

有關跨度指標及其計算方式的信息,請參考跨度指標文檔

跨度指標表

跨度指標表包含七列,有五個列標題。選擇一個標題可按升序或降序對數據進行排序。

解釋 跨度的 PromQL 查詢
Name 使用跨度名稱。OTel 語義約定通常期望跨度名稱是 http 路由或正在執行的數據庫功能的某種低基數指示器。 N/A
Rate LCD 指標(橫條形圖)。該跨度的每秒實例數。點擊此字段可以跳轉到相應的指標。 sum (rate ( traces_spanmetrics_calls_total { span_name="", }[$__range]))
Error Rate 數字和 LCD 指標(橫條形圖)。點擊此字段將顯示更詳細的指標。 sum (rate ( traces_spanmetrics_calls_total { span_name="", span_status="STATUS_CODE_ERROR", }[$__range]))
Duration p90 持續時間:此跨度的 90% 的所有出現都在此時間內完成。點擊此字段將顯示相應的指標。 histogram_quantile (.9, sum (rate ( traces_spanmetrics_duration_seconds_bucket { span_name="", span_status="STATUS_CODE_ERROR", }[$__range]) by (le))
Links 根據跨度名稱和其他應用的過濾器提供到示例跟踪的鏈接。連接到來自同一 Tempo 數據源的具有相同名稱的所有跨度的搜索。 N/A

服務圖

服務圖 (節點圖) 是各種服務之間互相關聯的視覺表示。服務圖幫助了解分散式系統的結構,以及其組件之間的連接和依賴性。

服務圖推斷分佈式系統的拓撲,提供系統健康狀態的高級概述,以及系統拓撲的歷史視圖。服務圖顯示錯誤率和延遲等相關數據。服務圖的佈局可以是默認或網格。

具有連接節點佈局的服務圖

網格佈局將服務圖更改為一系列的行和列。

如果您正在使用 metrics-generator,那麼它將處理跟踪並生成形式為時序指標的服務圖,例如:

tempo_service_graph_request_total{client="app", server="db"} 20

有關服務圖及其計算方式的信息,請參考服務圖文檔

使用過濾器揭示詳細資料

服務圖視圖使用服務圖和跨度指標作為您的追踪資訊的入口。該儀表板是基於一組固定的指標查詢而生成的。這些基礎查詢不能被更改。但是,您可以通過過濾選擇包括在指標查詢中的跟踪。

您可以通過點擊可選擇的項目或使用過濾器來探索數據。

選擇項目或節點以獲得更多詳細資料

點擊可選擇的項目,例如表格中的下劃線文字或服務圖上的節點,可以根據您的選擇揭示具體的詳細資料。

在表格中,您可以選擇 RateError RateDuration (p90)Links 列中的項目。選擇其中一個項目可以提供跨度指標的詳細資料。

您可以查看服務圖中任何節點的請求率、請求直方圖、失敗的請求率和跟踪。要查看更多資訊,請選擇服務圖中的節點,然後從彈出菜單中選擇一個選項。有關導航服務圖的詳細資料,請參考節點圖面板文檔

使用指標查詢過濾

使用屏幕頂部的過濾器,您可以基於跨度屬性(鍵值對或標籤)縮小數據集。過濾器構建一個查詢,用於精確地顯示服務圖和跨度指標。您可以添加一個或多個標籤過濾器。

要使用過濾器:

  1. 在服務圖的頂部,選擇 Filter 之後的文本框以顯示可用的標籤。在此情況下,選擇了 server。
  2. 選擇或搜索標籤的值。在這種情況下,server 的值等於 tempo-ingester。默認操作符是等於 (=)。
  3. 可選:通過選擇 = 並從下拉菜單中選擇一個新選項來更改操作符。
  4. 可選:添加其他鍵值對來縮小數據集。任何後續的標籤過濾器都使用 AND,這要求兩個鍵值對都存在於匹配中。
  5. 選擇 Run query。可以通過選擇過濾器下拉菜單並選擇**– remove filter –**來刪除過濾器。

    在下面的例子中,每個字段或標籤都表示一個鍵值對。編號 1 選擇了一個服務作為標籤,其值是 Go-http-client(2)。第二個鍵值對的標籤是客戶端,其值是 02e807

    如果您的指標查詢太具體,則可能不會返回任何結果。

更新過濾器以更不具體地返回結果。在這種情況下,結果僅顯示與 span_name 標籤相關的跨度指標數據,其值為 /base.Ruler/Rules。沒有可用的服務圖數據。

總結

  • 功能: Grafana的Service graph view 使用由metrics-generator或Grafana Agent生成的指標來展示請求率、錯誤率、持續時間以及服務圖。
  • 使用情境:
    1. 發現持續出錯的跨度及其發生率。
    2. 獲取服務間跨度調用的整體率概述。
    3. 確定服務中最慢的查詢完成所需的時間。
      4.根據率、錯誤和持續時間值(RED 信號)檢查包含特定跨度的所有跟踪。
  • 需求: 需要啟用span metrics和服務圖生成。這些指標可以由Tempo的metrics-generator或Grafana Agent生成。
  • 服務圖顯示內容: 用戶可以查看服務間的關係、錯誤率、延遲等。布局可以是預設的或網格形式。
  • 過濾器: 使用者可以通過選擇可選項目或使用過濾器探索數據。此外,還可以通過過濾器縮小數據集,根據span屬性進行縮小。

上一篇
Day29- GPT 陪我讀 Metrics-generator Service graphs
下一篇
Day31 - GPT 帶我讀 W3C Baggage
系列文
GPT伴我讀一些文件31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言